import request from '@/config/axios'

// 课程学生 VO
export interface StudentVO {
  id: number // 主键
  courseId: number // 课程ID
  semesterId: number // 课程学期ID
  studentType: number // 学生类型,1科大学生,2联培生
  accountId: number // 学生账号ID
  remark: string // 备注
}

// 课程学生 VO
export interface CourseStudentListRespVO {
  id: number // 主键
  courseId: number // 课程ID
  semesterId: number // 课程学期ID
  studentType: number // 学生类型, 1科大学生, 2联培生
  accountId: number // 学生账号ID
  remark: string // 备注
  createTime: Date // 创建时间
  studentName: string // 学生名称
  studentCode: string // 学号
  mobile: string // 学生手机
  email: string // 电子邮箱
  signNum: number // 签到次数
}

// 课程学生 API
export const StudentApi = {
  // 查询课程学生分页
  getStudentPage: async (params: any) => {
    return await request.get({ url: `/course/student/page`, params })
  },

  // 查询课程学生详情
  getStudent: async (id: number) => {
    return await request.get({ url: `/course/student/get?id=` + id })
  },

  // 新增课程学生
  createStudent: async (data: StudentVO) => {
    return await request.post({ url: `/course/student/create`, data })
  },

  // 修改课程学生
  updateStudent: async (data: StudentVO) => {
    return await request.put({ url: `/course/student/update`, data })
  },

  // 删除课程学生
  deleteStudent: async (id: number) => {
    return await request.delete({ url: `/course/student/delete?id=` + id })
  },

  // 导出课程学生 Excel
  exportStudent: async (params) => {
    return await request.download({ url: `/course/student/export-excel`, params })
  },

  // 查看某个课程的学生列表
  getStudentPageByCourse: async (params: any) => {
    return await request.get({ url: `/course/student/page-by-course`, params })
  }
}
